package com.yunji.aggregate.model.vo.container;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CabinetCellStatisticsVO {
    @ApiModelProperty("主键ID")
    @Excel(name = "主键ID", width = 15)
    @TableId(type = IdType.AUTO)
    private Long cellId;

    @ApiModelProperty(value = "货柜ID")
    @Excel(name = "货柜ID", width = 15)
    private Long containerId;

    @ApiModelProperty(value = "商品ID", required = true)
    @Excel(name = "商品ID", width = 15)
    private Long productId;

    @ApiModelProperty(value = "格子号", required = true)
    @Excel(name = "格子号", width = 15)
    private Integer ordinal;

    @ApiModelProperty("开锁状态(0-开启 1-关闭)")
    @Excel(name = "开锁状态(0-开启 1-关闭)", width = 15)
    private Integer unlock;

    @ApiModelProperty("格子状态 0-无商品 1-有商品")
    @Excel(name = "格子状态 0-无商品 1-有商品", width = 15)
    private Integer status;

    @ApiModelProperty("消息发送 0-未发送 1-已发送")
    private Integer sendStatus;

    @ApiModelProperty(value = "状态最后更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date statusUpdateTime;

    @Excel(name = "商品ID", width = 15)
    @TableId(type = IdType.AUTO)

    private Long id;

    @Excel(name = "上架状态", readConverterExp = "0=下架,1=上架", width = 15)
    @ApiModelProperty("上架状态：0-&gt;下架;1-&gt;上架")

    private Long publishStatus;

    @ApiModelProperty("sku")

    private String sku;

    @Excel(name = "商品类型", width = 15)
    @ApiModelProperty("商品类型")

    private Integer productType;

    @Excel(name = "商品名称", width = 15)
    @ApiModelProperty("商品名称")

    private String productName;

    @ApiModelProperty("商品描述")

    private String subTitle;

    @Excel(name = "销量", width = 15)
    @ApiModelProperty("销量")

    private Long sale;

    @Excel(name = "销售额", width = 15)
    @ApiModelProperty("销售额")

    private BigDecimal saleAmount;

    @Excel(name = "销售价", width = 15)
    @ApiModelProperty("销售价")

    private BigDecimal price;

    @Excel(name = "成本价", width = 15)
    @ApiModelProperty("成本价")

    private BigDecimal costPrice;

    @Excel(name = "折扣价", width = 15)
    @ApiModelProperty("折扣价")

    private BigDecimal discountPrice;

    @Excel(name = "代理折扣价", width = 15)
    @ApiModelProperty("代理折扣价")

    private BigDecimal agentDiscountPrice;

    @Excel(name = "最高折扣价", width = 15)
    @ApiModelProperty("最高折扣价")

    private BigDecimal maxDiscountPrice;

    @Excel(name = "最小折扣价", width = 15)
    @ApiModelProperty("最小折扣价")

    private BigDecimal minDiscountPrice;

    @Excel(name = "代理商授权价")
    @ApiModelProperty("代理商授权价")

    private BigDecimal agentPrice;

    @Excel(name = "单位（数量）")
    @ApiModelProperty("单位（数量）")

    private Integer unitAmount;

    @ApiModelProperty("授权类型（0-指定代理商 1-全部授权）")

    private Integer grantType;

    @ApiModelProperty("关键词")

    private String keywords;

    @Excel(name = "备注", width = 15)


    @ApiModelProperty("备注")
    private String note;

    @ApiModelProperty("画册图片，连产品图片限制为5张，以逗号分割")

    private String albumPics;

    @ApiModelProperty("商品详情网页内容")

    private String detailHtml;

    @ApiModelProperty("重要属性")

    private String importantAttributes;

    @ApiModelProperty("其他属性")

    private String otherAttributes;

    @ApiModelProperty("单位ID")

    private Long unitId;

    @ApiModelProperty("品牌ID")

    private Long brandId;

    @ApiModelProperty("单位名称")
    private String unitName;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @Excel(name = "排序", width = 15)
    @ApiModelProperty("排序")
    private Long sort;

    @Excel(name = "代理个数", width = 15)
    @ApiModelProperty("代理个数")
    private Integer agentNums;

    private Integer productQuantity;
    private Integer ceilingQuantity;

}
